"""
类型注解：
    1.基础数据类型注解
    2.数据容器类型注解
    3.数据容器类型详细注解
    4.类类型注解
    5.注释中进行类型注解

备注：1.简单的类型可以不需要进行类型注解，复杂的类型需要加上注解
    2.注解只做提示，对代码运行没有任何影响
"""
import json
import random

# 基础数据类型注解
var1: int = 10
var2: str = "DJ"
var3: bool = True

# 数据容器类型注解
my_list: list = [1, 2, '3']
my_tuple: tuple = (1, 2, '3')
my_dict: dict = {"DJ": 10086}

# 数据容器类型详细注解
my_list: list[int] = [1, 2, 3]
my_tuple: tuple[int, int, str] = (1, 2, '3')
my_dict: dict[str, int] = {"DJ": 10086}


# 类类型注解
class Student:
    pass


stu: Student = Student()

# 在注释中进行类型注解 # type: ...
var4 = random.randint(1, 10)  # type: int
var5 = json.loads('{"name":"zhangsan"}')  # type: str


def func():
    return 10


var6 = func()  # type: int
